Variable ping rate for a location tracker

ABSTRACT

Disclosed are techniques for calculating a predicted location of a location tracking device. In an aspect, a wireless communications device detects a breach of a geofence made by the location tracking device, receives data representing a state of the location tracking device, the state of the location tracking device comprising at least a current location of the location tracking device and a velocity of the location tracking device, and determines, based on the data representing the state of the location tracking device, the predicted location of the location tracking device.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present Application for Patent is a continuation of U.S. applicationSer. No. 17/066,842, entitled “VARIABLE PING RATE FOR A LOCATIONTRACKER,” filed Oct. 9, 2020, which is a continuation of U.S.application Ser. No. 16/152,909, entitled “VARIABLE PING RATE FOR ALOCATION TRACKER,” filed Oct. 5, 2018, each of which is assigned to theassignee hereof, and expressly incorporated herein by reference in itsentirety.

INTRODUCTION

Aspects of this disclosure relate generally to setting a variable pingrate for a location tracker and the like.

A location tracker is a navigation device, normally attached to moveableproperty (such as shipping containers, vehicles, and other high-valueitems, and referred to as an “asset tracker”) or animals (such as petsor livestock), or carried/worn by a person (such as a child), that usessome form of positioning technology (e.g., Global Positioning System(GPS)) to track the device's movements and determine its location. Therecorded location data can be stored within the location tracker and/ortransmitted to an Internet-connected device (referred to as a“receiver”) using the cellular, radio, or satellite modem embedded inthe location tracker. This allows the receiver to display the locationtracker's location on a map either in real time or when analyzing thetrack later.

A location tracker generally tracks its geographic location and pushes(i.e., “sends”) its position, and sometimes other information such asvelocity or altitude, at default intervals (referred to as the “pingrate”), to a determined server that can forward the data to a receiver.Alternatively, the location tracker can send its position directly tothe receiver, such as over a peer-to-peer connection. Some locationtrackers permit the user to set the ping rate during device setup, whileothers do not and have a default ping rate. In either case, the pingrate is fixed and cannot be changed once set. However, a fixed ping ratecan negatively impact battery life performance of the location tracker.

Additionally, a user may define a geofence within which a locationtracker is free to move, but the breach of which should trigger analert. The location tracker may store the geofence and periodically(e.g., at the ping rate or more frequently) compare its location to thestored geofence. In the event of a geofence breach, where the userwishes to recover the item to which the location tracker is attached,current location tracking solutions direct the user (generally via anapplication installed on the receiver) to the last pinged location ofthe location tracker. However, when the location tracker is stillmoving, this results in the user going to previous locations of thelocation tracker, rather than being able to intercept theperson/property as it moves to the next location.

SUMMARY

The following presents a simplified summary relating to one or moreaspects disclosed herein. As such, the following summary should not beconsidered an extensive overview relating to all contemplated aspects,nor should the following summary be regarded to identify key or criticalelements relating to all contemplated aspects or to delineate the scopeassociated with any particular aspect. Accordingly, the followingsummary has the sole purpose to present certain concepts relating to oneor more aspects relating to the mechanisms disclosed herein in asimplified form to precede the detailed description presented below.

In an aspect, a method for calculating a predicted location of alocation tracking device includes detecting, by a wirelesscommunications device, a breach of a geofence made by the locationtracking device, receiving, at the wireless communications device, datarepresenting a state of the location tracking device, the state of thelocation tracking device comprising at least a current location of thelocation tracking device and a velocity of the location tracking device,and determining, by the wireless communications device, based on thedata representing the state of the location tracking device, thepredicted location of the location tracking device.

In an aspect, an apparatus for calculating a predicted location of alocation tracking device includes at least one processor configured to:detect a breach of a geofence made by the location tracking device,receive data representing a state of the location tracking device, thestate of the location tracking device comprising at least a currentlocation of the location tracking device and a velocity of the locationtracking device, and determine, based on the data representing the stateof the location tracking device, the predicted location of the locationtracking device.

In an aspect, an apparatus for calculating a predicted location of alocation tracking device includes means for processing configured to:detect a breach of a geofence made by the location tracking device,receive data representing a state of the location tracking device, thestate of the location tracking device comprising at least a currentlocation of the location tracking device and a velocity of the locationtracking device, and determine, based on the data representing the stateof the location tracking device, the predicted location of the locationtracking device.

In an aspect, a non-transitory computer-readable medium storingcomputer-executable instructions for calculating a predicted location ofa location tracking device includes the computer-executable instructionscomprising at least one instruction instructing a wirelesscommunications device to detect a breach of a geofence made by thelocation tracking device, at least one instruction instructing thewireless communications device to receive data representing a state ofthe location tracking device, the state of the location tracking devicecomprising at least a current location of the location tracking deviceand a velocity of the location tracking device, and at least oneinstruction instructing the wireless communications device to determine,based on the data representing the state of the location trackingdevice, the predicted location of the location tracking device.

Other objects and advantages associated with the aspects disclosedherein will be apparent to those skilled in the art based on theaccompanying drawings and detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are presented to aid in the description ofvarious aspects of the disclosure and are provided solely forillustration of the aspects and not limitation thereof.

FIG. 1 illustrates an exemplary operating environment for a mobiledevice that can determine position using wireless techniques, accordingto one aspect of the disclosure.

FIG. 2 illustrates an example mobile device in accordance with an aspectof the disclosure.

FIG. 3 illustrates an example user interface of the user deviceaccording to an aspect of the disclosure.

FIG. 4 illustrates an exemplary method for updating the ping rate of alocation tracker, according to an aspect of the disclosure.

FIGS. 5A and 5B illustrate exemplary methods for enabling the receiverto intercept a location tracker, according to aspects of the disclosure.

FIG. 6 illustrates an exemplary method for calculating a predictedlocation of a location tracking device, according to an aspect of thedisclosure.

DETAILED DESCRIPTION

Aspects of the disclosure are provided in the following description andrelated drawings directed to various examples provided for illustrationpurposes. Alternate aspects may be devised without departing from thescope of the disclosure. Additionally, well-known aspects of thedisclosure may not be described in detail or may be omitted so as not toobscure more relevant details.

Those of skill in the art will appreciate that the information andsignals described below may be represented using any of a variety ofdifferent technologies and techniques. For example, data, instructions,commands, information, signals, bits, symbols, and chips that may bereferenced throughout the description below may be represented byvoltages, currents, electromagnetic waves, magnetic fields or particles,optical fields or particles, or any combination thereof, depending inpart on the particular application, in part on the desired design, inpart on the corresponding technology, etc.

Further, many aspects are described in terms of sequences of actions tobe performed by, for example, elements of a computing device. It will berecognized that various actions described herein can be performed byspecific circuits (e.g., Application Specific Integrated Circuits(ASICs)), by program instructions being executed by one or moreprocessors, or by a combination of both. In addition, for each of theaspects described herein, the corresponding form of any such aspect maybe implemented as, for example, “logic configured to” perform thedescribed action.

FIG. 1 illustrates an exemplary operating environment 100 for variousmobile devices having wireless positioning capability. FIG. 1illustrates an exemplary user device 120 and two exemplary locationtrackers, a wearable location tracker 122 and an asset tracker 124, thatmay determine their positions using various wireless positioningsystems, as described below. Note that although FIG. 1 illustrates theuser device 120 as a “smartphone,” as will be appreciated, the userdevice 120 may be any type of user device, such as a tablet computer, alaptop computer, a desktop computer, a Personal Digital Assistant (PDA),etc.

The operating environment 100 may contain one or more different types ofwireless communications systems and/or wireless positioning systems. Inthe example of FIG. 1 , one or more Satellite Positioning System (SPS)satellites 102 a, 102 b may be used as an independent source of positioninformation for the user device 120 and location trackers 122, 124. Theuser device 120 and location trackers 122, 124 may include one or morededicated SPS receivers specifically designed to receive signals forderiving geo-location information from the SPS satellites 102 a, 102 b.

The operating environment 100 may also include one or more Wide AreaNetwork Wireless Access Points (WAN-WAPs) 104 a, 104 b, 104 c, which maybe used for wireless voice and/or data communication, and as anothersource of independent position information for the user device 120 andlocation trackers 122, 124. The WAN-WAPs 104 a-104 c may be part of awide area wireless network (WWAN), which may include cellular basestations at known locations, and/or other wide area wireless systems,such as, for example, Worldwide Interoperability for Microwave Access(WiMAX) (e.g., IEEE 802.16). The WWAN may include other known networkcomponents which are not shown in FIG. 1 for simplicity. Typically, eachof the WAN-WAPs 104 a-104 c within the WWAN may operate from fixedpositions, and provide network coverage over large metropolitan and/orregional areas.

The operating environment 100 may further include one or more Local AreaNetwork Wireless Access Points (LAN-WAPs) 106 a, 106 b, 106 c, which maybe used for wireless voice and/or data communication, as well as anotherindependent source of position data. The LAN-WAPs 106 a-106 c can bepart of a Wireless Local Area Network (WLAN), which may operate inbuildings and perform communications over smaller geographic regionsthan a WWAN. Such LAN-WAPs 106 a-106 c may be part of, for example,Wi-Fi networks (802.11x), cellular piconets and/or femtocells,Bluetooth® networks, etc.

The user device 120 and location trackers 122, 124 may derive positioninformation from any one or more of the SPS satellites 102 a, 102 b, theWAN-WAPs 104 a-104 c, and/or the LAN-WAPs 106 a-106 c. Each of theaforementioned systems can provide an independent estimate of theposition for the user device 120 and location trackers 122, 124 usingdifferent techniques. In some aspects, the user device 120 and locationtrackers 122, 124 may combine the solutions derived from each of thedifferent types of access points to improve the accuracy of the positiondata. When deriving position using the SPS satellites 102 a, 102 b, theuser device 120 and location trackers 122, 124 may utilize a receiverspecifically designed for use with the SPS that extracts position, usingconventional techniques, from a plurality of signals transmitted by SPSsatellites 102 a, 102 b.

A satellite positioning system (SPS) typically includes a system oftransmitters positioned to enable entities to determine their locationon or above the Earth based, at least in part, on signals received fromthe transmitters. Such a transmitter typically transmits a signal markedwith a repeating pseudo-random noise (PN) code of a set number of chipsand may be located on ground-based control stations, user equipment,and/or space vehicles. In a particular example, such transmitters may belocated on Earth orbiting satellite vehicles (SVs). For example, a SV ina constellation of Global Navigation Satellite System (GNSS) such asGlobal Positioning System (GPS), Galileo, Glonass, or Compass maytransmit a signal marked with a PN code that is distinguishable from PNcodes transmitted by other SVs in the constellation (e.g., usingdifferent PN codes for each satellite as in GPS or using the same codeon different frequencies as in Glonass).

In accordance with certain aspects, the techniques presented herein arenot restricted to global systems (e.g., GNSS) for SPS. For example, thetechniques provided herein may be applied to or otherwise enabled foruse in various regional systems, such as, e.g., Quasi-Zenith SatelliteSystem (QZSS) over Japan, Indian Regional Navigational Satellite System(IRNSS) over India, Beidou over China, etc., and/or various augmentationsystems (e.g., an Satellite Based Augmentation System (SBAS)) that maybe associated with or otherwise enabled for use with one or more globaland/or regional navigation satellite systems. By way of example but notlimitation, an SBAS may include an augmentation system(s) that providesintegrity information, differential corrections, etc., such as, e.g.,Wide Area Augmentation System (WAAS), European Geostationary NavigationOverlay Service (EGNOS), Multi-functional Satellite Augmentation System(MSAS), GPS Aided Geo Augmented Navigation or GPS and Geo AugmentedNavigation system (GAGAN), and/or the like. Thus, as used herein an SPSmay include any combination of one or more global and/or regionalnavigation satellite systems and/or augmentation systems, and SPSsignals may include SPS, SPS-like, and/or other signals associated withsuch one or more SPS.

Furthermore, the disclosed method and apparatus may be used withpositioning determination systems that utilize pseudolites or acombination of satellites and pseudolites. Pseudolites are ground-basedtransmitters that broadcast a PN code or other ranging code (similar toa GPS or Code Division Multiple Access (CDMA) cellular signal) modulatedon an L-band (or other frequency) carrier signal, which may besynchronized with GPS time. Each such transmitter may be assigned aunique PN code so as to permit identification by a remote receiver.Pseudolites are useful in situations where GPS signals from an orbitingsatellite might be unavailable, such as in tunnels, mines, buildings,urban canyons or other enclosed areas. Another implementation ofpseudolites is known as radio-beacons. The term “satellite”, as usedherein, is intended to include pseudolites, equivalents of pseudolites,and possibly others. The term “SPS signals,” as used herein, is intendedto include SPS-like signals from pseudolites or equivalents ofpseudolites.

When deriving position from the WWAN, each WAN-WAPs 104 a-104 c may takethe form of base stations within a digital cellular network, and theuser device 120 and location trackers 122, 124 may include a cellulartransceiver and processor that can exploit the base station signals toderive position. Such cellular networks may include, but are not limitedto, standards in accordance with Global System for Mobile Communications(GSM), CDMA, 2G, 3G, 4G, Long-Term Evolution (LTE), 5G, New Radio (NR),etc. It should be understood that digital cellular network may includeadditional base stations or other resources that may not be shown inFIG. 1 . While WAN-WAPs 104 a-104 c may actually be moveable orotherwise capable of being relocated, for illustration purposes it willbe assumed that they are essentially arranged in a fixed position.

The user device 120 and location trackers 122, 124 may perform positiondetermination using known time-of-arrival (TOA) techniques such as, forexample, Advanced Forward Link Trilateration (AFLT). In other aspects,each WAN-WAP 104 a-104 c may comprise a WiMAX wireless networking basestation. In this case, the user device 120 and location trackers 122,124 may determine its position using TOA techniques from signalsprovided by the WAN-WAPs 104 a-104 c. The user device 120 and locationtrackers 122, 124 may determine positions either in a stand-alone mode,or using the assistance of a positioning server 110 and network 112using TOA techniques, as will be described in more detail below.Furthermore, various aspects may have the user device 120 and locationtrackers 122, 124 determine position information using WAN-WAPs 104a-104 c, which may have different types. For example, some WAN-WAPs 104a-104 c may be cellular base stations, and other WAN-WAPs 104 a-104 cmay be WiMAX base stations. In such an operating environment, the userdevice 120 and location trackers 122, 124 may be able to exploit thesignals from each different type of WAN-WAP 104 a-104 c, and furthercombine the derived position solutions to improve accuracy.

When deriving position using the WLAN, the user device 120 and locationtrackers 122, 124 may utilize TOA techniques with the assistance of thepositioning server 110 and the network 112. The positioning server 110may communicate to the user device 120 and location trackers 122, 124through network 112. Network 112 may include a combination of wired andwireless networks that incorporate the LAN-WAPs 106 a-106 c. In oneembodiment, each LAN-WAP 106 a-106 c may be, for example, a Wi-Fiwireless access point, which is not necessarily set in a fixed positionand can change location. The position of each LAN-WAP 106 a-106 c may bestored in the positioning server 110 in a common coordinate system. Inone embodiment, the position of the user device 120 and locationtrackers 122, 124 may be determined by having the user device 120 andlocation trackers 122, 124 receive signals from each LAN-WAP 106 a-106c. Each signal may be associated with its originating LAN-WAP based uponsome form of identifying information that may be included in thereceived signal (such as, for example, a MAC address). The user device120 and location trackers 122, 124 may then sort the received signalsbased upon signal strength, and derive the time delays associated witheach of the sorted received signals. The user device 120 and locationtrackers 122, 124 may then form a message that can include the timedelays and the identifying information of each of the LAN-WAPs, and sendthe message via network 112 to the positioning server 110. Based uponthe received message, the positioning server 110 may then determine aposition, using the stored locations of the relevant LAN-WAPs 106 a-106c, of the user device 120 and location trackers 122, 124. Thepositioning server 110 may generate and provide a Location ConfigurationIndication (LCI) message to the user device 120 and location trackers122, 124 that includes a pointer to the position of the user device 120and location trackers 122, 124 in a local coordinate system. The LCImessage may also include other points of interest in relation to thelocation of the user device 120 and location trackers 122, 124. Whencomputing the position of the user device 120 and location trackers 122,124, the positioning server 110 may take into account the differentdelays which can be introduced by elements within the wireless network.

The position determination techniques described herein may be used forvarious wireless communication networks such as a WWAN, a WLAN, awireless personal area network (WPAN), and so on. The term “network” and“system” may be used interchangeably. A WWAN may be a CDMA network, aTime Division Multiple Access (TDMA) network, a Frequency DivisionMultiple Access (FDMA) network, an Orthogonal Frequency DivisionMultiple Access (OFDMA) network, a Single-Carrier Frequency DivisionMultiple Access (SC-FDMA) network, a WiMAX (IEEE 802.16) network, and soon. A CDMA network may implement one or more radio access technologies(RATs) such as cdma2000, Wideband-CDMA (W-CDMA), and so on. cdma2000includes IS-95, IS-2000, and IS-856 standards. A TDMA network mayimplement GSM, Digital Advanced Mobile Phone System (D-AMPS), or someother RAT. GSM and W-CDMA are described in documents from a consortiumnamed “3rd Generation Partnership Project” (3GPP). cdma2000 is describedin documents from a consortium named “3rd Generation Partnership Project2” (3GPP2). 3GPP and 3GPP2 documents are publicly available. A WLAN maybe an IEEE 802.11x network, and a WPAN may be a Bluetooth network, anIEEE 802.15x, or some other type of network. The techniques may also beused for any combination of a WWAN, WLAN and/or WPAN.

In an aspect, the user device 120 may be suitably linked to the wearablelocation tracker 122 and the asset tracker 124 over a localnetwork/interface, such as a Wi-Fi network, a Bluetooth® network, anLTE-Direct network, a Radio Frequency Identifier (RFID) interface, aNear-Field Communication (NFC) interface, a wired connection, etc. Asdescribed further herein, the wearable location tracker 122 and theasset tracker 124 may periodically send their current positions andnavigation states (e.g., direction, velocity, geofence breach status,etc.), and possibly other information, to the user device 120 over thelocal network/interface. The wearable location tracker 122 and the assettracker 124 may also report their positions and navigation states to thepositioning server 110 over a WWAN or WLAN, and the positioning server110 may send this information to the user device 120 over a WWAN orWLAN. The user device 120 may store an association between the lastknown position and navigation state associated with the wearablelocation tracker 122 and the asset tracker 124 at the last time that theuser device 120 was linked to the wearable location tracker 122 and theasset tracker 124, or the last time it received that information fromthe positioning server 110.

FIG. 2 illustrates a mobile device 200 in accordance with an aspect ofthe disclosure. In an aspect, the mobile device 200 includes one or moreprocessors 205 (e.g., one or more ASICs, one or more digital signalprocessors (DSPs), a multicore processor, one or more communicationcontrollers, etc.) and a memory 210 (e.g., Random Access Memory (RAM),Read-Only Memory (ROM), erasable programmable ROM (EPROM), ElectricallyErasable Programmable ROM (EEPROM), flash cards, or any memory common tocomputer platforms). The mobile device 200 also includes one or moreuser interface (UI) input components 215 (e.g., a keyboard and mouse, atouchscreen, a microphone, one or more buttons such as volume or powerbuttons, etc.) and one or more UI output components 220 (e.g., speakers,a display screen, a vibration device for vibrating the mobile device200, etc.).

The mobile device 200 further includes a wired communications interface225 and a wireless communications interface 230. In an example aspect,the wired communications interface 225 can be used to support wiredlocal connections to peripheral devices (e.g., a Universal Serial Bus(USB) connection, a mini USB or Lightning connection, a headphone jack,a graphics port, such as serial, Video Graphics Array (VGA),High-Definition Multimedia Interface (HDMI), Digital Visual Interface(DVI), or DisplayPort, audio ports, and so on) and/or to a wired accessnetwork (e.g., via an Ethernet cable or another type of cable that canfunction as a bridge to the wired access network such as HDMI v1.4 orhigher, etc.). In another example aspect, the wireless communicationsinterface 230 includes one or more wireless transceivers forcommunication in accordance with a local wireless communicationsprotocol (e.g., WLAN or WiFi, WiFi Direct, LTE-Direct, Bluetooth®,etc.). The wireless communications interface 230 may also include one ormore wireless transceivers for communication with a cellular RAN (e.g.,via CDMA, W-CDMA, TDMA, FDMA, OFDM, GSM, or other protocols that may beused in a wireless communications network or a data communicationsnetwork). The various components 205-230 of the mobile device 200 cancommunicate with each other via a bus 235.

Referring to FIG. 2 , the mobile device 200 may correspond to any typeof wireless mobile communications device, including but not limited to asmartphone, a laptop computer, a tablet computer, a wearable device(e.g., a pedometer, a smart watch, smart glasses, a wearable locationtracker, etc.), a location tracker, and so on. Thus, the user device120, the wearable location tracker 122, and the asset tracker 124 may beparticular examples of the mobile device 200 in some implementations. Inthe example of FIG. 2 , the asset tracker 124 includes a button 245 anda Light-Emitting Diode (LED) 250. The button 245 may be an example of aUI input component(s) 215 and the LED 250 may be an example of a UIoutput component(s) 220. While not shown explicitly as part of the assettracker 124, the asset tracker 124 can include one or more externalantennas and/or one or more integrated antennas that are built into theexternal casing of the asset tracker 124, including but not limited toWiFi antennas, cellular antennas, SPS antennas, and so on.

The wearable location tracker 122 includes a touchscreen display 290 andat least one button (not shown), among other components, as is known inthe art. The button may be an example of a UI input component(s) 215 andthe touchscreen display 290 may be an example of a UI input component(s)215 and a UI output component(s) 220. While not shown explicitly as partof the wearable location tracker 122, the wearable location tracker 122can include one or more external antennas and/or one or more integratedantennas that are built into the external casing of the wearablelocation tracker 122, including but not limited to WiFi antennas,cellular antennas, SPS antennas, and so on.

In the example of FIG. 2 , the user device 120 is configured with atouchscreen display 260, peripheral buttons 265, 270, 275, and 280(e.g., a power control button, a volume or vibrate control button, anairplane mode toggle button, etc.), and at least one front-panel button285 (e.g., a Home button, etc.), among other components, as is known inthe art. The buttons 265-285 may be examples of UI input component(s)215 and the touchscreen display 260 may be an example of a UI inputcomponent(s) 215 and a UI output component(s) 220. While not shownexplicitly as part of the user device 120, the user device 120 caninclude one or more external antennas and/or one or more integratedantennas that are built into the external casing of the user device 120,including but not limited to WiFi antennas, cellular antennas, SPSantennas, and so on.

One or more motion sensors 240 may be coupled to the processor(s) 205 toprovide movement and/or orientation information which is independent ofmotion data derived from signals received by the WAN-WAPs 104, theLAN-WAPs 106 and the SPS satellites 102. By way of example, the motionsensor(s) 240 may include an accelerometer (e.g., amicroelectromechanical system (MEMS) device), a gyroscope, a geomagneticsensor (e.g., a compass), an altimeter (e.g., a barometric pressurealtimeter), and/or any other type of movement detection sensor.Moreover, the motion sensor(s) 240 may include a plurality of differenttypes of devices and combine their outputs in order to provide motioninformation. For example, the motion sensor(s) 240 may use a combinationof a multi-axis accelerometer and orientation sensors to provide theability to compute positions in 2D and/or 3D coordinate systems.

The mobile device 200 may also include a ping rate manager 255. Althoughthe ping rate manager 255 is illustrated as connected to the bus 235,the ping rate manager 255 may be a software module stored in the memory210 and executable by one or more of processor(s) 205, a separatehardware circuit coupled to the bus 235, a sub-component of one or moreof processor(s) 205, a combination of hardware and software, or thelike.

In an aspect, the ping rate manager 255 may perform, or execution of theping rate manager 255 may cause the mobile device 200 to perform, theoperations described herein. Thus, for example, the processor(s) 205,the memory 210, the wireless communications interface 230, the wiredcommunications interface 225, and/or the ping rate manager 255 may allbe used cooperatively to load, store, and execute the various operationsdisclosed herein, and as such, the logic to perform these operations maybe distributed over various elements. Alternatively, the functionalitycould be incorporated into one discrete component (e.g., the ping ratemanager 255). Therefore, the features of the mobile device 200 are to beconsidered merely illustrative and the disclosure is not limited to theillustrated features or arrangement.

For example, in an aspect, the ping rate manager 255 may cause theprocessor 205 to perform operations comprising detecting (e.g., based ondata from wireless communications interface 230) a breach of a geofencemade by a location tracking device (e.g., mobile device 200), receiving(e.g., from wireless communications interface 230 and/or motionsensor(s) 240) data representing a state of the location trackingdevice, the state of the location tracking device comprising at least acurrent location of the location tracking device and a velocity of thelocation tracking device, and determining, based on the datarepresenting the state of the location tracking device, the predictedlocation of the location tracking device.

The present disclosure provides techniques to improve the battery lifeof location trackers and similar devices. For example, a locationtracker can use various heuristics to analyze real-time data points fromboth the location tracker and optionally the device receiving thelocation updates (referred to as the “receiver,” and which may be userdevice 120), and automatically adjust the location tracker's ping ratein order to extend the battery life and efficiency of the locationtracker. In addition, the present disclosure provides techniques topredict the path(s) and areas-of-travel of a location tracker to allowthe user to intercept, rather than follow, the person or propertyassociated with the location tracker.

Example data points from the location tracker that may be useful for thetechniques described herein include, but are not limited to, the batterylevel of the location tracker, location, velocity/speed of the locationtracker, trajectory/direction of the location tracker, WLAN access pointconnection(s), gyroscope state, accelerometer state, built environment(e.g., buildings, open spaces, roads, construction, traffic, etc.), thetype of valuable to which the location tracker is attached (e.g.,person, pet, property, indicating whether the location tracker is movingunder its own power, or being carried), and any historical values of theabove data. Example data points from the receiver that may be useful forthe techniques described herein include, but are not limited to,location of the receiver, velocity/speed of the receiver,trajectory/direction of the receiver, WLAN access point connection(s),gyroscope state, accelerometer state, built environment, trafficconditions near the receiver, and any historical values of the abovedata. Sources of the above data points include, but are not limited to,GPS, gyroscope, accelerometer, serving base station, battery system,serving MILAN access point, Internet connection (e.g., over a cellularnetwork or a WLAN), and the like.

The receiver, or location tracker if it has sufficient battery level andprocessing capability, can analyze these real-time data points todetermine the optimal ping rate and, if the location tracker hasbreached a geofence, the best path for (the user of) the receiver toreach/intercept the location tracker, the projected travel path of thelocation tracker, and/or the likely area of the projected travel. If thelocation tracker is performing this analysis, it can send the results tothe receiver. The receiver can then display this information for theuser. For simplicity, the analysis of the collected data is describedherein as being performed by one device or the other. However, as willbe appreciated, such analysis may be performed by either device,depending on their capabilities and battery level.

In an exemplary scenario (set of heuristics), if the location trackerhas recently pinged the receiver (i.e., sent a location update to thereceiver, e.g., within the past five minutes) and the location trackeris running low (below some threshold, e.g., 30%) on battery, then thelocation tracker may, or the receiver may instruct the location trackerto, decrease the ping rate. The purpose of such a rule is to, forexample, conserve battery where the location tracker has likely notmoved significantly since the most recent ping.

In a second exemplary scenario (set of heuristics), if the locationtracker is within a designated geofence, then regardless of the batterylevel of the location tracker, the location tracker may, or the receivercan instruct the location tracker to, stop pinging the receiver toconserve the battery of the location tracker. The purpose of such a ruleis to, for example, conserve battery where the location tracker is knownto be at a permitted location (i.e., within a geofence). However, in analternative, the user may prefer an occasional ping while the locationtracker is within the geofence, simply to assure the user that thelocation tracker is still operational. Such an occasional ping could beoverridden to save battery power.

In a third exemplary scenario (set of heuristics), if the locationtracker is stationary (as determined from data from the motion sensor(s)240), regardless of whether or not it has breached a geofence or isrunning low on battery, the location tracker may reduce the ping rate,or stop pinging altogether, until it begins moving again. The purpose ofsuch a rule is to, for example, reduce or eliminate unnecessary locationupdates, because if the location tracker is not moving, its location islikely not changing.

In a fourth exemplary scenario (set of heuristics), if the locationtracker breaches a designated geofence, regardless of whether low onbattery (below some threshold) or fully (or above some threshold)charged, then the location tracker alerts the receiver that it isoutside of the geofence and provides an initial location. The purpose ofsuch a rule is to, for example, immediately alert the user to a breach,as this may be a desired behavior of a location tracker, regardless ofbattery level.

Upon detecting a breach, the location tracker can begin analyzing anyavailable sensor data in real-time, and direct the receiver accordingly.For example, in an aspect, if the battery on the location tracker isrunning low (e.g., below 30%), then the location tracker or the receivercan determine the time until the receiver can intercept the locationtracker based on, for example, the location tracker's current location,speed, and direction of travel and the receiver's current location,speed, and direction of travel, for example. The location tracker canthen adjust the ping rate to optimize its battery lite. For example, thelocation tracker can send its location to the receiver prior to anyinflection or decision points in the receiver's path (e.g., before thereceiver would need to turn onto a different road), thereby sending itslocation when it is most useful. The location tracker can also increasethe ping rate as the receiver gets closer to the location tracker toallow for more efficient course correction by the receiver. In anaspect, the location tracker can notify the receiver that it is varyingthe ping rate for efficiency, so that the receiver can then notify theuser. Regardless of the location tracker's battery life, it can predictwhen the battery will reach zero and automatically reduce the ping rateto extend the battery life. In an aspect, the location tracker may alsocollect data points from nearby WLAN access points to determine itslocation and/or predict possible travel paths. Possible travel paths maybe based on contextual data points such as a road map of the area, thebuilt environment, and the like. In an aspect, if the location tracker'sbattery level does reach zero before it is found, the location tracker,or the receiver, can calculate potential travel paths by analyzing:historical paths (prior paths traveled by the location tracker), thetime when the geofence was breached, the last distance recorded. WLANaccess points recorded nearby, its trajectory and rate of speed, thebuilt environment in the context of its current/projected location,and/or the like.

Based on the information received from the location tracker, the userinterface of the receiver can display various information and/ornotifications to the user to communicate system status information inreal-time. For example, regardless of the battery level of the locationtracker, the receiver can display a map view showing the locationtracker's most recent location, a history of the locations of thelocation tracker since the geofence breach, optionally connected by aline, thereby showing the likely path followed, the most-likely path(informed by real-time and stored sensor data, history, contextual builtenvironment, traffic, etc.) of the location tracker beyond the mostrecent location, and a “bubble” around the likely area of travel (whichmay differ or veer slightly from the most likely path). In an aspect,the diameter of the visual bubble may vary with the level of confidencein the prediction and the odds of a particular travel path. A smallbubble area would indicate a high confidence, and a large bubble areawould indicate a lower confidence.

In an aspect, if the battery level of the location tracker does go tozero, the user interface of the receiver can provide an indication ofsuch with a zero battery level icon. In an aspect, the receiver can alsoincrease the size of the bubble (i.e., the geographic area of thebubble), thereby showing a decreased confidence in the likely area oftravel, and may also provide a notification that the confidence level islikely to decrease due to the lack of continuous real-time data. Thereceiver can continue to increase the likely area of travel bubble astime passes to indicate the greater odds of multiple travel paths.

The receiver can also communicate to the user (via one or morenotifications) as to why the ping rate is variable and its efficiency inhelping the user to more effectively intercept the location tracker.

As will be appreciated, the foregoing description of the user interfaceis exemplary, and the disclosure is not limited to the aspects andfeatures described above.

FIG. 3 illustrates an example user interface 300 of the user device 120according to an aspect of the disclosure. In the example of FIG. 3 , theuser interface 300 displays a map of previous ping locations of alocation tracker (e.g., wearable location tracker 122, asset tracker124) as previous locations 304 a-c, and a likely area of travel 302,calculated as described above. In the example of FIG. 3 , the likelyarea of travel 302 indicates where the location tracker will be when itsends the next location ping. As shown in FIG. 3 , previous location 304b was provided to the receiver before it needed to turn off of 28thStreet and onto Route 119. The location tracker may have provided thislocation ping based on knowledge that the receiver was approaching theintersection of 28th Street and onto Route 119 and would need to turnonto Route 119.

Once the receiver begins moving towards the location tracker, thereceiver (or the location tracker if it has the requisite memory andprocessing capability) can begin analysis of the receiver's availablereal-time sensor data, such as its location, trajectory/direction,velocity/speed, etc. as well as available data from the locationtracker, such as the battery level, previous locations,trajectory/direction, velocity/speed, etc. The receiver (or locationtracker) can combine the data points (both the data from the receiverand the data from the location tracker) to predict a future location ofthe location tracker, to enable the receiver (or location tracker) todetermine the most accurate and effective path to intercept the locationtracker.

As noted above, the receiver can also notify the user that the locationtracker's ping rate will vary to save battery life and to be moreeffective at helping the user intercept the location tracker as quicklyas possible. As also noted above, if the battery level is above athreshold (e.g., 50%), the location tracker (optionally as directed bythe receiver) can increase the ping rate as the receiver gets closer tothe location tracker, allowing for more efficient course correction.However, if the battery level is below some threshold (e.g., 20%), thelocation tracker (optionally as directed by the receiver) can decreasethe ping rate to only provide location updates at the most importantactionable inflection points for the receiver (e.g., location 304 b),and increase the ping rate only as necessary as the receiver nears thelocation tracker for greater efficiency in possible course corrections.

FIG. 4 illustrates an exemplary method 400 for updating the ping rate ofa location tracker, according to an aspect of the disclosure. The method400 may be performed by the mobile device 200, for example, the userdevice 120, the wearable location tracker 122, or the asset tracker 124.Alternatively, in an aspect, the method 400 may be performed by thepositioning server 110. At 402, the mobile device 200 (e.g., ping ratemanager 255, or processor(s) 205 as directed by execution of ping ratemanager 255) begins collecting (gathering) available data points fromthe location tracker, such as the location of the location tracker, itsbattery level, whether or not it is within or has breached a geofence(e.g., a geofence stored in memory 210), whether or not the locationtracker is in motion (e.g., being carried as opposed to resting inplace, which may be determined from motion sensor(s) 240), its distancefrom the receiver (e.g., user device 120), and the like, as describedabove. The mobile device 200, when corresponding to a location tracker,may obtain such information from the motion sensor(s) 240, the wiredcommunications interface 225, the wireless communications interface 230,and/or the UI input component(s) 215. The mobile device 200, whencorresponding to a receiver, may obtain such information from thelocation tracker via the wired communications interface 225 and/or thewireless communications interface 230 (and optionally via positioningserver 110). The mobile device 200 may also retrieve previously stored(historic) data points from memory 210. The mobile device 200 may alsocollect available data points from the receiver, such as the location ofthe receiver, whether or not the receiver is in motion (e.g., beingcarried or driven in pursuit of the location tracker), its distance fromthe location tracker, upcoming inflection points (e.g., turns along theroute from the receiver to the location tracker), and the like, asdescribed above. In an aspect, where the mobile device 200 correspondsto a location tracker, the mobile device 200 may periodically receivethe above data points from the receiver and may calculate its distancefrom the receiver based on the last-received location of the receiver.Alternatively, the receiver may send the above data points to thelocation tracker in response to receiving the notification of thegeofence breach. As yet another alternative, the location tracker maynot know anything about the receiver.

At 404, the mobile device 200 (e.g., ping rate manager 255, orprocessor(s) 205 as directed by execution of ping rate manager 255)analyzes the collected data to determine the state of the locationtracker, and optionally the receiver, and therefore enable it todetermine, at 406, whether or not to update the ping rate. For example,the mobile device 200 may determine whether or not the battery level ofthe location tracker is below a threshold, and if it is, determine, at406, to reduce the ping rate to conserve battery. As another example, ifthe location tracker has breached a stored geofence and has a batterylevel below a threshold, but the receiver is beyond a threshold distanceaway from the location tracker, the mobile device 200 may determine, at406, to decrease the ping rate to conserve battery, as the receiver isunlikely to need fine/frequent position estimates of the locationtracker given the larger distance between the two devices. As yetanother example, if the receiver is nearing an inflection point on itsroute to the location tracker (as determined from the route calculatedby the location tracker from the last known location of the receiver andthe predicted location of the location tracker, or by the receiver fromthe current location of the receiver and the predicted location of thelocation tracker), the mobile device 200 may determine, at 406, toincrease the ping rate, or send an additional ping to the receiver,before the receiver reaches the inflection point to enable the receiverto make the correct turn.

As another example, if the location tracker has breached a storedgeofence, has a battery level above a threshold, and optionally, iswithin a threshold distance of the receiver, the mobile device 200 maydetermine, at 406, to increase the ping rate, to enable the receiver tomore quickly intercept and recover the location tracker. As yet anotherexample, if the location tracker has breached a stored geofence, has abattery level above a threshold, but is beyond a threshold distance fromthe receiver, the mobile device 200 may determine, at 406, to decreasethe ping rate to conserve battery, as the user will be less likely,given the greater distance, to be able to quickly intercept and recoverthe location tracker. As will be appreciated, these are merely examples,and the present disclosure is not limited to only these examples.Rather, as would be appreciated by one of ordinary skill in the art,there are numerous heuristics (rules) based on the location tracker'slocation, battery level, breach state, distance from the receiver, andthe like that can be used to determine an optimal ping rate for thelocation tracker.

At 408, the mobile device 200 (e.g., ping rate manager 255, orprocessor(s) 205 as directed by execution of ping rate manager 255)optionally updates the ping rate, by either increasing or decreasing theping rate, as determined at 406. The ping rate may be selected from arange of values corresponding to different ping rates (e.g., 1 to 10,where one is the most infrequent and 10 is the most frequent), and themobile device 200 may increase or decrease the ping rate one or morelevels at a time, depending on the conditions determined at 404.Alternatively, the mobile device 200 may calculate an optimum ping ratebased on the data analyzed at 404. Operation 408 is optional because theping rate may not need to be adjusted.

At 410, the mobile device 200 (e.g., wireless communications interface230 as directed by ping rate manager 255 or processor(s) 205) optionallysends a notification to the receiver indicating that the ping rate hasbeen updated. The notification may include the new ping rate. Operation410 is optional because the ping rate may not have been adjusted at 408.The flow then returns to 402. More specifically, the mobile device 200may continuously or periodically (e.g., every minute, every fiveminutes, etc.) perform the method 400 to adjust the ping rate as neededto optimize both the location tracking and the battery consumption ofthe location tracker.

FIGS. 5A and 5B illustrate exemplary methods for enabling a receiver(e.g., user device 120) to intercept a location tracker (e.g., wearablelocation tracker 122 or asset tracker 124), according to aspects of thedisclosure. The exemplary method 500A of FIG. 5A may be performed by thelocation tracker (e.g., wearable location tracker 122 or asset tracker124), and the exemplary method 500B of FIG. 5B may be performed by thereceiver (e.g., user device 120). Alternatively, these methods may beperformed by the positioning server 110 based on information from thereceiver and/or location tracker.

At 502, the location tracker (e.g., ping rate manager 255, orprocessor(s) 205 as directed by execution of ping rate manager 255)detects a geofence breach. The breach may be detected by comparingpositioning information determined from, for example, wirelesscommunications interface 230 (e.g., GPS location, serving WLAN accesspoint identity, serving cellular base station identity, loss ofshort-range wireless connection to the receiver (e.g., Bluetooth®, RFID,NFC, or the like), or the like) compared to the geographic boundaries ofa geofence stored in memory 210.

At 504, the location tracker (e.g., wireless communications interface230, as directed by ping rate manager 255 or processor(s) 205) sends anotification to the receiver indicating that the location tracker hasbreached the geofence. The notification may include an identification ofthe geofence (where the location tracker stores multiple geofences inmemory 210), the location of the breach, the time of the breach, thelocation tracker's velocity and direction at the time of the breach,battery level at the time of the breach, and/or the like.

At the same time, at 506, the location tracker (e.g., ping rate manager255, or processor(s) 205 as directed by execution of ping rate manager255) begins collecting (gathering) available data points from thelocation tracker, such as the location of the location tracker, itsvelocity and trajectory, its battery level, whether or not the locationtracker is in motion (e.g., being carried as opposed to resting inplace, which may be determined from motion sensor(s) 240), its distancefrom the receiver (e.g., user device 120), the built environment of thelocation tracker (which may be determined based on the number of nearbyWLAN access points and/or cellular base stations), and the like, asdescribed above. The location tracker may obtain such information fromthe motion sensor(s) 240, the wired communications interface 225, thewireless communications interface 230, and/or the UI input component(s)215. The location tracker may also retrieve previously stored (historic)data points from memory 210. The location tracker may also collectavailable data points from the receiver, such as the location of thereceiver, whether or not the receiver is in motion (e.g., being carriedor driven in pursuit of the location tracker), its distance from thelocation tracker, upcoming inflection points (e.g., turns along theroute from the receiver to the location tracker), and the like, asdescribed above. In an aspect, the location tracker may periodicallyreceive these data points from the receiver and calculate its distancefrom the receiver based on the last-received location of the receiver.Alternatively, the receiver may send the above data points to thelocation tracker in response to receiving the notification of thegeofence breach. As yet another alternative, the location tracker maynot know anything about the receiver.

At 508, the location tracker (e.g., memory 210, as directed by ping ratemanager 255 or processor(s) 205) optionally stores the collected data inmemory 210. The stored data can be retrieved later as historic datapoints that can be used to learn behavior patterns of the locationtracker and/or its wearer (whether a person, pet, or property) andthereby further optimize the ping rate and predicted location of thelocation tracker. Operation 508 is optional because the location trackerneed not store the data collected at 506 in order to assist the receiverto intercept the location tracker. At 510, the location tracker (e.g.,ping rate manager 255, or processor(s) 205 as directed by execution ofping rate manager 255) analyzes the collected data to determine thecurrent state (and to the extent beneficial, the previous state(s)) ofthe location tracker, and possibly the receiver, to enable it to predictits future location and determine whether or not to update the ping rateat 512 and 514. The location tracker may determine whether or not toincrease or decrease the ping rate at 512 as discussed above withreference to FIG. 4 .

At 514, the location tracker (e.g., ping rate manager 255, orprocessor(s) 205 as directed by execution of ping rate manager 255)predicts a future location of the location tracker. The future locationmay be the location at which the location tracker is predicted to be atthe next ping interval or a predicted destination of the locationtracker. The future location may be predicted based on the location ofthe breach, the current location of the location tracker, the currentvelocity (rate of speed) and trajectory (direction) of the locationtracker, physical characteristics of the object (person, animal,property) to which the location tracker is attached (e.g., a largeshipping container will take longer and require different resources tomove than, for example, a suitcase), the built environment of thelocation tracker (e.g., a vehicle on a highway will be able to travelfurther faster than a vehicle driving in a city), the traffic conditionsin the area of the location tracker, historical locations of thelocation tracker stored in memory 210, and/or the like.

At 516, the location tracker (e.g., ping rate manager 255, orprocessor(s) 205 as directed by execution of ping rate manager 255)calculates a confidence score in the predicted location. The confidencescore may be based on the factors upon which the predicted locationitself is based, and in addition the amount of time into the future thatthe location tracker is predicted to be at the predicted location. Thatis, the further into the future the location tracker is predicted to beat the predicted location, the lower the confidence in the predictedlocation. In an aspect, the confidence score may be represented as aradius around the predicted location (e.g., likely area of travel 302 inFIG. 3 ), with a larger radius indicating a lower confidence score.However, this is an example, and the disclosure is not so limited.

At 518, the location tracker (e.g., wireless communications interface230 as directed by ping rate manager 255 or processor(s) 205) sends thepredicted location and the confidence score to the receiver. The method500A then returns to 506, where the location tracker continues gatheringdata points. More specifically, the location tracker may continuously orperiodically (e.g., every minute, every five minutes, etc.) perform themethod 500A to update the predicted location and/or the ping rate asneeded to optimize both the location prediction and the batteryconsumption of the location tracker.

Note that operations 510-518 are optional (as depicted by the dashedlines) because they can instead be performed by the receiver orpositioning server 110 based on data received from the location tracker.More specifically, the location tracker may not have the processingcapability or sufficient battery level to perform these operations. Inthat case, the location tracker can send the data points gathered at 506to the receiver or positioning server 110, and the receiver orpositioning server 110 can perform operations 510 and 514-518. If thereceiver or positioning server 110 also performs operation 512, it caninstruct the location tracker to update the ping rate.

Referring now to FIG. 5B, at 522, the receiver (e.g., wirelesscommunications interface 230) receives the notification of the geofencebreach that the location tracker sent at 504. At 524, the receiver(e.g., wireless communications interface 230, ping rate manager 255, orprocessor(s) 205) receives information from the location tracker.Initially, the information may be the information received in thenotification, which may include an identification of the geofence (wherethe location tracker stores multiple geofences in memory 210), thelocation of the breach, the time of the breach, the location tracker'svelocity and direction at the time of the breach, battery level at thetime of the breach, and/or the like. Subsequently, the information mayinclude status updates, such as battery level, current location, pingrate, motion state, and/or the like. The information received at 524 mayalso include the predicted location of the location tracker, theconfidence score in the predicted location, and the time at which thelocation tracker is predicted to be at the predicted location, as sentby the location tracker at 518. At 528, the receiver (e.g., UI outputcomponent(s) 220 as directed by ping rate manager 255 or processor(s)205) displays the information received from the location tracker. Forexample, as illustrated in FIG. 3 , the receiver may display theprevious locations 304 of the location tracker and the likely area oftravel 302. The receiver will update the display of this information asnew information is received at 524, as illustrated by the arrowreturning to 524.

At 526, the receiver (e.g., ping rate manager 255, or processor(s) 205as directed by execution of ping rate manager 255) begins collecting itsown data points, such as its current location, velocity, trajectory,built environment, traffic conditions, and/or the like. The receiver mayobtain such information from the motion sensor(s) 240, the wiredcommunications interface 225, the wireless communications interface 230,and/or the UI input component(s) 215. The receiver may also retrievepreviously stored (historic) data points from memory 210. At 530, thereceiver (e.g., memory 210, as directed by ping rate manager 255 orprocessor(s) 205) stores the collected data points. The stored data canbe retrieved later as historic data points that can be used to learnbehavior patterns of the receiver and/or location tracker and therebyfurther optimize the ping rate and predicted location of the locationtracker.

At 532, the receiver (e.g., ping rate manager 255, or processor(s) 205as directed by execution of ping rate manager 255) analyzes the receivedand collected data to determine the current state (and to the extentbeneficial, the previous state(s)) of the receiver and/or the locationtracker to enable the receiver to predict the future location of thelocation tracker and to determine whether or not to update the ping rateat 534 and 536. The receiver may determine whether or not to increase ordecrease the ping rate at 534 as discussed above with reference to FIG.4 . The receiver may calculate the predicted location of the locationtracker as discussed above with reference to 514. At 538, the receiver(e.g., ping rate manager 255, or processor(s) 205 as directed byexecution of ping rate manager 255) may calculate a confidence score inthe predicted location, as discussed above with reference to 516.

At 540, the receiver (e.g., ping rate manager 255, or processor(s) 205as directed by execution of ping rate manager 255) determines a route tothe predicted location, or at least to the area of the predictedlocation, such as where the confidence score is low. At 542, thereceiver (e.g., UI output component(s) 220 as directed by ping ratemanager 255 or processor(s) 205) displays the determined route. Themethod 500B then returns to 524/526 and repeats as new information isreceived from the location tracker and/or new information is collectedby the receiver. Note that operations 532 to 538 are optional becausethese operations may be performed by the location tracker and theresults received by the receiver at 524.

FIG. 6 illustrates an exemplary method 600 for calculating a predictedlocation of a location tracking device, according to an aspect of thedisclosure. The method 600 may be performed by a location tracker, suchas wearable location tracker 122 or asset tracker 124, or a receiver,such as user device 120.

At 602, the method 600 includes detecting (e.g., by ping rate manager255 or processor(s) 205 based on data from wireless communicationsinterface 230) a breach of a geofence made by the location trackingdevice, as at 502 and 522 of FIGS. 5A and 5B, respectively. At 604, themethod 600 includes receiving (e.g., by ping rate manager 255 orprocessor(s) 205 based on data from wireless communications interface230 and/or motion sensor(s) 240) data representing a state of thelocation tracking device, as at 506 and 524 of FIGS. 5A and 5B,respectively. In an aspect, the state of the location tracking devicemay include at least a current location of the location tracking deviceand a velocity of the location tracking device. At 606, the method 600includes determining (e.g., by ping rate manager 255 or processor(s) 205based on execution of ping rate manager 255), based on the datarepresenting the state of the location tracking device, the predictedlocation of the location tracking device, as at 514 and 536 of FIGS. 5Aand 5B, respectively. An advantage of determining the predicted locationof the location tracking device is to enable the receiver device tointercept the location tracking device at the predicted location, ratherthan the receiver device being directed to a previous location of thelocation tracking device that the location tracking device may havevacated.

In an aspect, although not illustrated in FIG. 6 , the method 600 mayfurther include calculating (e.g., by ping rate manager 255 orprocessor(s) 205) a confidence score in the predicted location of thelocation tracking device. An advantage of calculating a confidence scoreis that it provides the user a realistic expectation of the accuracy ofthe predicted location of the location tracking device.

In an aspect, if the method 600 is performed by a location trackingdevice (e.g., wearable location tracker 122, asset tracker 124), themethod may further comprise receiving a message from a receiver device(e.g., user device 120) associated with the location tracking device toincrease a ping rate for the location tracking device based on detectionof the breach of the geofence. Additionally, the data representing thestate of the location tracking device may further include a batterylevel of the location tracking device, and the method 600 may furtherinclude updating (e.g., by ping rate manager 255 or processor(s) 205) aping rate for the location tracking device based on the battery level ofthe location tracking device and the data representing the state of thelocation tracking device, as at 512 of FIG. 5A. An advantage of thelocation tracking device performing the method 600 is that there may beless latency in making decisions (such as updating the ping rate) andless wireless communication between the location tracking device and thereceiver device. An advantage of updating the ping rate is that it canconserve the battery of the location tracking device, as describedabove.

The method 600 may further include sending (e.g., by wirelesscommunications interface 230 as directed by ping rate manager 255 orprocessor(s) 205) a notification of the detected breach to a receiverdevice associated with the location tracking device, as at 504 of FIG.5A, and sending the predicted location to the receiver device to enablethe receiver device to intercept the location tracking device, as at 518of FIG. 5A. An advantage of sending the breach notification and thepredicted location of the location tracking device to the receiverdevice is to alert the user of the breach and enable the receiver deviceto intercept the location tracking device at the predicted location,rather than the receiver device being directed to a previous location ofthe location tracking device that the location tracking device may havevacated. In an aspect, the location tracking device may receive the datarepresenting the state of the location tracking device from motionsensor(s) 240 and/or wireless communications interface 230.

In an aspect, if the method 600 is performed by a receiver device (e.g.,user device 120) associated with the location tracking device, themethod 600 may further comprise sending a message to the locationtracking device to increase a ping rate for the location tracking devicebased on detection of the breach of the geofence. Additionally,detecting the breach at 602 may be based on reception of a breachnotification from the location tracking device, as at 522 of FIG. 5B,and the receiver device may receive the data representing the state ofthe location tracking device from the location tracking device, as at524 of FIG. 5B. In an aspect, the method 600 may further includedisplaying (e.g., on touchscreen display 260) the data representing thestate of the location tracking device, as at 528 of FIG. 5B. Anadvantage of the receiver device performing the method 600 is that thereceiver device may have greater processing capability and a higherbattery level than the location tracking device. An advantage ofdisplaying the data representing the state of the location trackingdevice is that it informs the user of the state of the location trackingdevice.

In an aspect, the data representing the state of the location trackingdevice may further include a battery level of the location trackingdevice, in which case, the method 600 may further include determining(e.g., by ping rate manager 255 or processor(s) 205) a ping rate for thelocation tracking device based on the battery level of the locationtracking device and the data representing the state of the locationtracking device, and sending (e.g., by wireless communications interface230 as directed by ping rate manager 255 or processor(s) 205) the pingrate to the location tracking device, as at 534 of FIG. 5B. An advantageof updating the ping rate is that it can conserve the battery of thelocation tracking device, as described above. In an aspect, the pingrate may be further based on a distance between the receiver and thelocation tracking device, where the ping rate is lower for a longerdistance between the wireless communications device and the locationtracking device than for a shorter distance between the wirelesscommunications device and the location tracking device.

In an aspect, where the method 600 is performed by a receiver device(e.g., user device 120) associated with the location tracking device,the method 600 may further include determining (e.g., by ping ratemanager 255 or processor(s) 205) a route from a current location of thereceiver to the predicted location of the location tracking device, asat 540 of FIG. 5B. The receiver may display (e.g., on touchscreen device260) the route and a representation of a confidence score in thepredicted location, as at 542 of FIG. 5B. An advantage of determining aroute to the predicted location of the location tracking device is toenable the receiver to intercept the location tracking device at thepredicted location, rather than the receiver being directed to aprevious location of the location tracking device that the locationtracking device may have vacated.

Although the foregoing has been described in terms of a locationtracker, as will be appreciated, the disclosure is not so limited.Rather, any device that tracks its location, speed, and/or direction oftravel can automatically adjust its ping rate as described herein,and/or can provide predictions of its, or another device's, futurelocation.

It should be understood that any reference to an element herein using adesignation such as “first,” “second,” and so forth does not generallylimit the quantity or order of those elements. Rather, thesedesignations may be used herein as a convenient method of distinguishingbetween two or more elements or instances of an element. Thus, areference to first and second elements does not mean that only twoelements may be employed there or that the first element must precedethe second element in some manner. Also, unless stated otherwise a setof elements may comprise one or more elements. In addition, terminologyof the form “at least one of A, B, or C” or “one or more of A, B, or C”or “at least one of the group consisting of A, B, and C” used in thedescription or the claims means “A or B or C or any combination of theseelements.” For example, this terminology may include A, or B, or C, or Aand B, or A and C, or A and B and C, or 2A, or 2B, or 2C, and so on.

In view of the descriptions and explanations above, those of skill inthe art will appreciate that the various illustrative logical blocks,modules, circuits, and algorithm steps described in connection with theaspects disclosed herein may be implemented as electronic hardware,computer software, or combinations of both. To clearly illustrate thisinterchangeability of hardware and software, various illustrativecomponents, blocks, modules, circuits, and steps have been describedabove generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present disclosure.

Accordingly, it will be appreciated, for example, that an apparatus orany component of an apparatus may be configured to (or made operable toor adapted to) provide functionality as taught herein. This may beachieved, for example: by manufacturing (e.g., fabricating) theapparatus or component so that it will provide the functionality; byprogramming the apparatus or component so that it will provide thefunctionality; or through the use of some other suitable implementationtechnique. As one example, an integrated circuit may be fabricated toprovide the requisite functionality. As another example, an integratedcircuit may be fabricated to support the requisite functionality andthen configured (e.g., via programming) to provide the requisitefunctionality. As yet another example, a processor circuit may executecode to provide the requisite functionality.

Moreover, the methods, sequences, and/or algorithms described inconnection with the aspects disclosed herein may be embodied directly inhardware, in a software module executed by a processor, or in acombination of the two. A software module may reside in random accessmemory (RAM), flash memory, read-only memory (ROM), erasableprogrammable ROM (EPROM), electrically erasable programmable ROM(EEPROM), registers, hard disk, a removable disk, a CD-ROM, or any otherform of storage medium known in the art. An exemplary storage medium iscoupled to the processor such that the processor can read informationfrom, and write information to, the storage medium. In the alternative,the storage medium may be integral to the processor (e.g., cachememory).

While the foregoing disclosure shows various illustrative aspects, itshould be noted that various changes and modifications may be made tothe illustrated examples without departing from the scope defined by theappended claims. The present disclosure is not intended to be limited tothe specifically illustrated examples alone. For example, unlessotherwise noted, the functions, steps, and/or actions of the methodclaims in accordance with the aspects of the disclosure described hereinneed not be performed in any particular order. Furthermore, althoughcertain aspects may be described or claimed in the singular, the pluralis contemplated unless limitation to the singular is explicitly stated.

What is claimed is:
 1. A method for calculating a predicted futurelocation of a location tracking device, comprising: detecting, by acommunications device, a breach of a geofence made by the locationtracking device; receiving, at the communications device, datarepresenting a state of the location tracking device, the state of thelocation tracking device comprising at least a current location of thelocation tracking device and a velocity of the location tracking device;determining, by the communications device, based on the datarepresenting the state of the location tracking device, the predictedfuture location of the location tracking device; instructing, by thecommunications device, the location tracking device to update a pingrate for the location tracking device, wherein the ping rate is based atleast in part on a route of the location tracking device, a route of areceiver device associated with the location tracking device, thepredicted future location of the location tracking device, or anycombination thereof.
 2. The method of claim 1, further comprising:calculating, by the communications device, a confidence score in thepredicted future location of the location tracking device; anddisplaying, on a user interface of the communications device, the routeand a representation of the confidence score in the predicted futurelocation of the location tracking device.
 3. The method of claim 1,further comprising: receiving a message from the receiver device toincrease the ping rate for the location tracking device based ondetection of the breach of the geofence.
 4. The method of claim 1,wherein: the data representing the state of the location tracking devicefurther includes a battery level of the location tracking device, andthe ping rate is updated based further on the battery level of thelocation tracking device and the data representing the state of thelocation tracking device.
 5. The method of claim 1, further comprising:sending, by the communications device, a notification of the detectedbreach to the receiver device associated with the location trackingdevice; and sending, by the communications device, the predicted futurelocation to the receiver device to enable the receiver device tointercept the location tracking device.
 6. The method of claim 1,further comprising: providing, by the communications device, anotification of the updated ping rate.
 7. The method of claim 6,wherein: the communications device is a server, and providing thenotification comprises transmitting the notification to the receiverdevice.
 8. The method of claim 6, wherein: the communications device isthe receiver device, and providing the notification comprises displayingthe notification on a user interface of the receiver device.
 9. Themethod of claim 1, further comprising: sending a message to the locationtracking device to increase the ping rate for the location trackingdevice based on detection of the breach of the geofence.
 10. The methodof claim 1, wherein the breach is detected based on reception of abreach notification from the location tracking device.
 11. The method ofclaim 1, wherein the data representing the state of the locationtracking device is received from the location tracking device.
 12. Themethod of claim 11, further comprising: displaying, on a user interfaceof the communications device, the data representing the state of thelocation tracking device.
 13. The method of claim 1, wherein the datarepresenting the state of the location tracking device further includesa battery level of the location tracking device, the method furthercomprising: determining, by the communications device, the ping rate forthe location tracking device based at least in part on the battery levelof the location tracking device and the data representing the state ofthe location tracking device; and sending, by the communications device,the ping rate to the location tracking device.
 14. The method of claim13, wherein: the ping rate is further based on a distance between thecommunications device and the location tracking device, and the pingrate is lower for a longer distance between the communications deviceand the location tracking device than for a shorter distance between thecommunications device and the location tracking device.
 15. The methodof claim 1, further comprising: determining, by the communicationsdevice, a route from a current location of the communications device tothe predicted future location of the location tracking device; anddisplaying, on a user interface of the communications device, the routefrom the current location of the communications device to the predictedfuture location of the location tracking device.
 16. A communicationsdevice, comprising: a memory; at least one transceiver; and at least oneprocessor communicatively coupled to the memory and the at least onetransceiver, the at least one processor configured to: detect a breachof a geofence made by the location tracking device; receive, via the atleast one transceiver, at the communications device, data representing astate of the location tracking device, the state of the locationtracking device comprising at least a current location of the locationtracking device and a velocity of the location tracking device;determine based on the data representing the state of the locationtracking device, the predicted future location of the location trackingdevice; and instruct the location tracking device to update a ping ratefor the location tracking device, wherein the ping rate is based atleast in part on a route of the location tracking device, a route of areceiver device associated with the location tracking device, thepredicted future location of the location tracking device, or anycombination thereof.
 17. The communications device of claim 16, whereinthe at least one processor is further configured to: calculate aconfidence score in the predicted future location of the locationtracking device; and display, on a user interface of the communicationsdevice, the route and a representation of the confidence score in thepredicted future location of the location tracking device.
 18. Thecommunications device of claim 16, wherein the at least one processor isfurther configured to: receive, via the at least one transceiver, amessage from the receiver device to increase the ping rate for thelocation tracking device based on detection of the breach of thegeofence.
 19. The communications device of claim 16, wherein: the datarepresenting the state of the location tracking device further includesa battery level of the location tracking device, and the ping rate isupdated based further on the battery level of the location trackingdevice and the data representing the state of the location trackingdevice.
 20. The communications device of claim 16, wherein the at leastone processor is further configured to: send, via the at least onetransceiver, a notification of the detected breach to the receiverdevice associated with the location tracking device; and send, via theat least one transceiver, the predicted future location to the receiverdevice to enable the receiver device to intercept the location trackingdevice.
 21. The communications device of claim 16, wherein the at leastone processor is further configured to: provide a notification of theupdated ping rate.
 22. The communications device of claim 21, wherein:the communications device is a server, and the at least one processorconfigured to provide the notification comprises the at least oneprocessor configured to transmitting the notification to the receiverdevice.
 23. The communications device of claim 21, wherein: thecommunications device is the receiver device, and the at least oneprocessor configured to provide the notification comprises the at leastone processor configured to displaying the notification on a userinterface of the receiver device.
 24. The communications device of claim16, wherein the at least one processor is further configured to: send,via the at least one transceiver, a message to the location trackingdevice to increase the ping rate for the location tracking device basedon detection of the breach of the geofence.
 25. The communicationsdevice of claim 16, wherein the breach is detected based on reception ofa breach notification from the location tracking device.
 26. Thecommunications device of claim 16, wherein the data representing thestate of the location tracking device is received from the locationtracking device.
 27. The communications device of claim 16, wherein: thedata representing the state of the location tracking device furtherincludes a battery level of the location tracking device, the at leastone processor is further configured to determine the ping rate for thelocation tracking device based at least in part on the battery level ofthe location tracking device and the data representing the state of thelocation tracking device, and the at least one processor is furtherconfigured to send, via the at least one transceiver, the ping rate tothe location tracking device.
 28. The communications device of claim 16,wherein the at least one processor is further configured to: determine aroute from a current location of the communications device to thepredicted future location of the location tracking device; and display,on a user interface of the communications device, the route from thecurrent location of the communications device to the predicted futurelocation of the location tracking device.
 29. A communications device,comprising: means for detecting a breach of a geofence made by thelocation tracking device; means for receiving, at the communicationsdevice, data representing a state of the location tracking device, thestate of the location tracking device comprising at least a currentlocation of the location tracking device and a velocity of the locationtracking device; means for determining based on the data representingthe state of the location tracking device, the predicted future locationof the location tracking device; and means for instructing the locationtracking device to update a ping rate for the location tracking device,wherein the ping rate is based at least in part on a route of thelocation tracking device, a route of a receiver device associated withthe location tracking device, the predicted future location of thelocation tracking device, or any combination thereof.
 30. Anon-transitory computer-readable medium storing computer-executableinstructions that, when executed by a communications device, cause thecommunications device to: detect a breach of a geofence made by thelocation tracking device; receive, at the communications device, datarepresenting a state of the location tracking device, the state of thelocation tracking device comprising at least a current location of thelocation tracking device and a velocity of the location tracking device;determine based on the data representing the state of the locationtracking device, the predicted future location of the location trackingdevice; and instruct the location tracking device to update a ping ratefor the location tracking device, wherein the ping rate is based atleast in part on a route of the location tracking device, a route of areceiver device associated with the location tracking device, thepredicted future location of the location tracking device, or anycombination thereof.